package com.atguigu.jue.demo01;

public class LambdaExpressDemo {
    public static void main(String[] args) {
//        Foo foo=new Foo() {
//            @Override
//            public void sayHello() {
//                System.out.println("hello");
//            }
//        };
  //      Foo foo=foo.sayHello();
//        Foo foo=new Foo() {
//            @Override
//            public int add(int x, int y) {
//                System.out.println("addff");
//                return x+y;
//            }
//        };
 //       System.out.println(foo.add(3,5));
        Foo foo=(x,y)->{System.out.println("addff");return x+y;};
        System.out.println(foo.add(3,5));
        System.out.println(foo.sub(3,5));
        System.out.println(Foo.dev(3,5));
     }
}

/**
 * @auther zzyy
 * @create 2020-03-26 11:40
 *lambda Express
 * 前提：函数式接口(内部只有一个方法声明) ---> lambda Express
 *
 * 1 拷贝小括号，写死右箭头，落地大括号
 * 2 @FunctionalInterface //显示声明
 * 3 default 方法实现，可以声明+实现一起在接口出现 数量不限
 * 4 静态方法，同上。
 *  */
@FunctionalInterface
interface Foo{
public int add(int x,int y);
default int sub(int x,int y){
    return x-y;
}
static int dev(int x,int y){
    return x/y;
}
}